#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QGraphicsItem>
#include <QMainWindow>
#include <dwgobject.h>
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    QList<DwgObject *>  m_mainlist;     // 定义了一个数组用于保存所有屏幕上绘制的图元对象
    DrawType curDrawType = None;       // 定义一个变量用来记录当前鼠标正在绘制哪种图元
    QPainter *m_painter = nullptr;  	      // 为了方便绘图，我们把绘图工具定义为一个指针对象v

private slots:
    void on_actionNew_triggered();

    void on_actionOpen_triggered();

    void on_actionSave_triggered();

    void on_actionSaveAs_triggered();

    void on_actionExit_triggered();

    void pointTB_clicked();  // 声明槽函数

    void lineTB_clicked();

    void cirAct1_triggered();  // 两点直径画圆

    void cirAct2_triggered(); // 半径圆心画圆

    void cirAct3_triggered();  // 三点画圆

    void rectangleTB_clicked();

    void on_actionRoatate_triggered();

    void on_actionCopy_triggered();

    void on_actionMove_triggered();

private:
    Ui::MainWindow *ui;
    QList<QGraphicsItem*> m_MainList;  // 替换YourType为实际存储的类型

    // QWidget interface
protected:
    void mousePressEvent(QMouseEvent *event) override;
    void paintEvent(QPaintEvent *event) override;
};
#endif // MAINWINDOW_H
